'use strict';
const db = uniCloud.database();
exports.main = async (event, context) => {	
	const store = db.collection("store");
	let res
	if(event.type=='全部'){
		if(event.sort=='销量最高'){
			res = await store
			.aggregate()
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				sale:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='好评优先'){
			res = await store
			.aggregate()
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				score:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='默认排序'){
			res = await store
			.aggregate()
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.end()
		}
		
	}
	
	if(event.type=='烘焙'){
		if(event.sort=='销量最高'){
			res = await store
			.aggregate()
			.match({
				"bread_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				sale:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='好评优先'){
			res = await store
			.aggregate()
			.match({
				"bread_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				score:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='默认排序'){
			res = await store
			.aggregate()
			.match({
				"bread_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.end()
		}
	}
	
	if(event.type=='饮品'){
		if(event.sort=='销量最高'){
			res = await store
			.aggregate()
			.match({
				"drink_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				sale:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='好评优先'){
			res = await store
			.aggregate()
			.match({
				"drink_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				score:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='默认排序'){
			res = await store
			.aggregate()
			.match({
				"drink_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.end()
		}
	}
	
	if(event.type=='简餐'){
		if(event.sort=='销量最高'){
			res = await store
			.aggregate()
			.match({
				"meal_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				sale:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='好评优先'){
			res = await store
			.aggregate()
			.match({
				"meal_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.sort({
				score:-1  //-1降序  1升序
			})
			.end()
		}
		if(event.sort=='默认排序'){
			res = await store
			.aggregate()
			.match({
				"meal_type":true
			})
			.lookup({
				from: 'good', //要联查哪个表
				localField: '_id', //本表字段
				foreignField: 'store_id', //关联字段
				as: 'goodList' //别名
			})
			.end()
		}
	}
	
	return res;
};
